package orderoid.formulaire;

import java.util.concurrent.ExecutionException;

import orderoid.singleton.SingletonClient;
import orderoid.singleton.SingletonCommande;
import orderoid.singleton.SingletonRestaurant;
import orderoid.soap.business.webServiceAuthentification;
import orderoid.soap.business.webServiceRecuperationAdresseClient;
import orderoid.soap.classeCommune.Adresse;
import orderoid.soap.classeCommune.Client;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;

public class OrderoidMainActivity extends Activity {
	
	
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        //un lancement de cette activity lance un nouveau login on clear donc le client et la commande qui peut être actuellement en cours
        SingletonCommande.getInstance().clearSingletonCommande();
        SingletonClient.getInstance().clearSingletonClient();
        SingletonRestaurant.getInstance().clearSingletonRestaurant();
    }
    
    public void seloger(View view)
	{
    	Intent inscription = new Intent(this, OrderoidInscriptionActivity.class);

    	
    	EditText editTextEmail = (EditText) findViewById(R.id.email);
    	EditText editPassword = (EditText) findViewById(R.id.password);
    	
    	String email = editTextEmail.getText().toString();
    	String motdepass = editPassword.getText().toString();
    	
    	//dans un premier temps l'utilisateur ne peux que s'inscrire, on passera en paramettre le login
    	
    	// Creation du client qui va se connecter ou s'inscrire s'il n'est pas en base
    	Client client = new Client();
    	client.setEmail(email);
    	client.setPassword(motdepass);
    	SingletonClient.getInstance().setClient(client);
    	
        inscription.putExtra("label",email);
    	
    	startActivity(inscription);
    	
	}
    
    //choixRestaurant
    public void choixRestaurant(View view)
  	{
    	Client client = null;
    	Intent intentSommaire = new Intent ( this, OrderoidSommaireActivity.class);
    	// Intent restaurant = new Intent(this, OrderoidChoixRestaurantActivity.class);
      	EditText editEmail = (EditText) findViewById(R.id.email);
      	EditText editPassword = (EditText) findViewById(R.id.password);
      	
      	String email = editEmail.getText().toString();
      	String motdepass = editPassword.getText().toString();
      	
      	webServiceAuthentification auth = new webServiceAuthentification();
      	
      	try {
			client = auth.execute(email,motdepass).get();
		} catch (InterruptedException e) {

			e.printStackTrace();
		} catch (ExecutionException e) {
			e.printStackTrace();
		}
      	
      	if(client == null){
      		Context context = getApplicationContext();
      		CharSequence text = "Combinaison login/mot de passe incorrecte!";
      		int duration = Toast.LENGTH_SHORT;

      		Toast toast = Toast.makeText(context, text, duration);
      		toast.show();
      	}
      	else {
      		SingletonClient.getInstance().setClient(client);
      		
      		webServiceRecuperationAdresseClient ws = new webServiceRecuperationAdresseClient(); 
      		Adresse adresse = new Adresse(); 
      		
      		try
			{
				adresse = ws.execute(Integer.toString(SingletonClient.getInstance().getClient().getIdClient())).get();
			} catch (InterruptedException e)
			{
				adresse = null;
				e.printStackTrace();
			} catch (ExecutionException e)
			{
				adresse = null;
				e.printStackTrace();
			}
      		 if(adresse == null)
      		 {
      			 Log.e("Adresse Error", "Une erreur est survenue lors de la recupération d'adresse");
      		 } 
      		 else
      		 {
      			SingletonClient.getInstance().setAdresse(adresse);
      			
      			Context context = getApplicationContext();
          		CharSequence text = "Bienvenue : " + client.getPrenom();
          		int duration = Toast.LENGTH_SHORT;

          		Toast toast = Toast.makeText(context, text, duration);
          		toast.show();
          		
          		// restaurant.putExtra("editTextMail", email);
              	// startActivity(restaurant);
          		startActivity(intentSommaire);
      		 }
      	}
  	}
    
}